package com.rongji.cms.tools.file.service;

import com.rongji.cms.tools.common.core.domain.PageQuery;
import com.rongji.cms.tools.common.core.page.TableDataInfo;
import com.rongji.cms.tools.file.domain.ToolsOss;
import com.rongji.cms.tools.file.domain.vo.ToolsOssVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.Collection;
import java.util.List;

/**
 * @author Administrator
 * @description 针对表【tools_oss(OSS对象存储表)】的数据库操作Service
 * @createDate 2022-11-15 11:45:18
 */
public interface ToolsOssService {

    /**
     * 初始化
     */
    void init();

    /**
     * 获取所有的附件类型
     *
     * @return
     */
    List<String> getAttachmentExtList(String id);

    /**
     * 文档转换操作
     */
    void docConvert(ToolsOss toolsOss);

    void upload2OssByThreads(ToolsOss toolsOss);


    /**
     * 上传，传用户id
     *
     * @param file
     * @param uid
     * @return
     */
    ToolsOss upload(MultipartFile file, String uid);

    ToolsOss getById(Long ossId);

    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    TableDataInfo<ToolsOssVo> queryPageList(ToolsOss toolsOss, PageQuery pageQuery);

    List<ToolsOssVo> listByIds(Collection<Long> ossIds);

}
